import tornado.web
import tornado.ioloop,time
from util.myredis import r
import requests
from util.comm import get_ali_object
def job():
      print("job")
def job1():
      print("job1")

# 未支付订单及支付订单的处理
def checkorder():
      now = int(time.time())
      r.sortedset_add("cancelorderlist","23424342342",now-1000)
      # r.sortedset_add("cancelorderlist","133434",score)
      list = r.sortedset_getbyscore("cancelorderlist",0,now)
      # print("******")
      print(list)
      # list=['23424342341']
      pay = get_ali_object()
      #获取每一个订单号
      for i in list:
            #通过订单号向支付宝发起请求获取结果
            query_params = pay.query_pay(
                  out_trade_no=i.decode(),  # 用户购买的商品订单号（每次不一样） 20180301073422891 
            )
            pay_url = "https://openapi.alipaydev.com/gateway.do?{0}".format(query_params)  # 支付宝网关地址（沙箱应用）
            # print(pay_url)
            res = requests.get(pay_url)
            print(res.text)
            #根据结果判断，如果成功更新订单，如果失败清除订单，清除队列中的信息
            r.sortedset_delete("cancelorderlist",i.decode())

checkorder()

# from apscheduler.schedulers.tornado import TornadoScheduler

# scheduler = TornadoScheduler()
# scheduler.add_job(checkorder, "interval", seconds=1)
# # scheduler.add_job(job1, "interval", seconds=2)
# '''
# add_job triggers类型
# 1. date 特定时间执行，只执行一次
# 2. interval 固定间隔时间触发
#       weeks (int)	隔几周
#       days (int)	隔几天
#       hours (int)	隔几小时
#       minutes (int)	隔几分钟
#       seconds (int)	隔多少秒
#       start_date (datetime 或 str)	指定开始日期
#       end_date (datetime 或 str)	指定结束日期
# 3. cron 特定时间周期性地触发
# exp: add_job(job, "cron", hour=0, minute=0) 每天凌晨执行
# '''
# scheduler.start()
# class IndexHandler(tornado.web.RequestHandler):
#     def get(self):
#         pass

# app = tornado.web.Application([
#     (r"/",IndexHandler),
# ])

# app.listen(8001)
# app.scheduler = scheduler
# tornado.ioloop.IOLoop.current().start()
    


